Automated dialog systems are utilized to manipulate data based on natural language input (e.g., utterances spoken by a user). Such systems conventionally represent data in at least three ways: a natural language representation, representing the meaning of the natural language input (or spoken utterances); a data storage representation, representing the corresponding data in programmatic form; and a representation in the programming language, representing the data for utilization and manipulation by the underlying application(s). These representations are conventionally designed in isolation from one another, and thus logical gaps exist between them. One approach to bridging these gaps is to flatten the natural language representation (e.g., by mapping it out into key-value pair associations). For example, this approach is employed by the Voice Extensible Markup Language (VXML) standards. This flatting approach, however, leads to poor representations, placing the burden of reconstructing the information structure on the underlying application(s).